﻿using GDM.Hogar.Entidades;
using GDM.Hogar.Managers.Contratos;
using GDM.Hogar.Repositorios.Contratos;
using System;
using System.Collections.Generic;

namespace GDM.Hogar.Managers
{
    public class ObraSocialManager : IObraSocialManager
    {
        private readonly IObraSocialRepositorio _obraSocialRepositorio;

        public ObraSocialManager(IObraSocialRepositorio obraSocialRepositorio)
        {
            if (obraSocialRepositorio == null)
            {
                throw new ArgumentNullException("obraSocialRepositorio");
            }
            _obraSocialRepositorio = obraSocialRepositorio;
        }

        public IList<ObraSocial> ObtenerObrasSociales()
        {
            return _obraSocialRepositorio.ObtenerObrasSociales();
        }

        public ObraSocial CrearObraSocial(string nombre)
        {
            return _obraSocialRepositorio.CrearObraSocial(nombre);
        }

        public void ActivarObraSocial(int obraSocialId, bool activa)
        {
            _obraSocialRepositorio.ActivarObraSocial(obraSocialId, activa);
        }

        public void ActualizarObraSocial(ObraSocial obraSocial)
        {
            _obraSocialRepositorio.ActualizarObraSocial(obraSocial);
        }

        public bool ExisteAfiliadoObraSocial(int integranteId, int obraSocialId, long nroAfiliado)
        {
            return _obraSocialRepositorio.ExisteAfiliadoObraSocial(integranteId, obraSocialId, nroAfiliado);
        }
    }
}